#ifndef AGTK_SHADER_PREDEFINES_H
#define AGTK_SHADER_PREDEFINES_H

namespace agtk {

class ShaderPredefines
{
public:
	ShaderPredefines(void);
	~ShaderPredefines(void);

	// Per-frame
	UniformShaderParameter* agtk_eyePosition;
	UniformShaderParameter* agtk_ambientColor;

	// Per-model
	UniformShaderParameter* agtk_diffuseColor;
	UniformShaderParameter* agtk_falloffColor;
	UniformShaderParameter* agtk_specularIntensity;
	UniformShaderParameter* agtk_specularPower;
	UniformShaderParameter* agtk_glowIntensity;
	UniformShaderParameter* agtk_falloffIntensity;
	UniformShaderParameter* agtk_falloffPower;
	UniformShaderParameter* agtk_falloffDetail;
	UniformShaderParameter* agtk_diffuseMap;
	UniformShaderParameter* agtk_normalMap;
	UniformShaderParameter* agtk_specularMap;
	UniformShaderParameter* agtk_glowMap;

	// Per-vertex
	ShaderAttribute* agtk_tangent;
	ShaderAttribute* agtk_bitangent;
};

}

#endif